package br.uece.ativcomplementares.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Enumerated;
import javax.persistence.Id;
import javax.persistence.NamedQuery;

import br.uece.ativcomplementares.enums.NaturezaEnum;

@Entity
@NamedQuery(name=AtividadeComplementar.QUERY_BUSCA_POR_DESCRICAO, query="select a from AtividadeComplementar as a where a.descricao = :descAtividade")
public class AtividadeComplementar {
	
	public static final String QUERY_BUSCA_POR_DESCRICAO = "buscaPorDescricao"; 

	@Id
	private Long id;
	
	@Column(nullable=false, length=250)
	private String descricao;
	
	@Enumerated
	@Column(nullable=false)
	private NaturezaEnum natureza;
	
	@Column
	private Integer maximoHorasPorSemestre;
	
	@Column(nullable=false)
	private Integer maximoHorasPorCurso;

	
	/** Getters and Setters **/
	
	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public NaturezaEnum getNatureza() {
		return natureza;
	}

	public void setNatureza(NaturezaEnum natureza) {
		this.natureza = natureza;
	}

	public Integer getMaximoHorasPorSemestre() {
		return maximoHorasPorSemestre;
	}

	public void setMaximoHorasPorSemestre(Integer maximoHorasPorSemestre) {
		this.maximoHorasPorSemestre = maximoHorasPorSemestre;
	}

	public Integer getMaximoHorasPorCurso() {
		return maximoHorasPorCurso;
	}

	public void setMaximoHorasPorCurso(Integer maximoHorasPorCurso) {
		this.maximoHorasPorCurso = maximoHorasPorCurso;
	}

	public Long getId() {
		return id;
	}
	
}
